package org.example.flinketl.vo;

import java.math.BigDecimal;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;

import org.hibernate.validator.constraints.Length;

import lombok.Data;
import lombok.ToString;

/**
 * 个人网银交易
 */
@Data
@ToString
public class GrwyMx   implements Vo{
  /** 证件号码 */
  String uid;
  /** 模块渠道代号 */
  String mch_channel;
  /** 登录类型 */
  String login_type;
  /** 电子银行客户号 */
  @Length(min = 1)
  @Pattern(regexp = "\\d*")
  String ebank_cust_no;
  /** 交易日期 */
  String tran_date;
  /** 交易时间 */
  String tran_time;
  /** 交易代码 */
  String tran_code;
  /** 交易状态 */
  @Pattern(regexp = "[A-Z]")
  String tran_sts;
  /** 返回码 */
  String return_code;
  /** 返回信息 */
  String return_msg;
  /** 业务系统类型 */
  String sys_type;
  /** 付款人账号 */
  @Length(min = 1)
  @Pattern(regexp = "\\d*")
  String payer_acct_no;
  /** 转出户名 */
  @Length(min = 1)
  String payer_acct_name;
  /** 收款人账号 */
  @Length(min = 1)
  @Pattern(regexp = "\\d*")
  String payee_acct_no;
  /** 收款人户名 */
  @Length(min = 1)
  String payee_acct_name;

  /** 交易金额 */
  @NotNull
  BigDecimal tran_amt;
  /** 数据日期 */
  String etl_dt;

  public static String getTableName() {
    return "dm_v_tr_grwy_mx";
  }

  @Override
  public String getContentType() {
    return "grwy";
  }
}
